EC2 SSH 접속을 좀 더 간편하게!
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 SSH 접속을 조금 더 간편하게 하는 방법에 대해서 정리해 봤습니다.
준비물
- EC2 키 페어
- hostname (EC2의 아이피 주소면 됩니다.)
- username (default값은 ec2-user로 되어있습니다.)
설정
mkdir -p ~/.ssh
.ssh 디렉토리를 생성합니다.
vi ~/.ssh/config
config 파일을 생성합니다.
Host ec2-bas HostName ec2-bas-ip 입력 port 22 User ec2-user IdentityFile Desktop/BastionEC2.pem
그리고 다음과 같이 작성합니다.
여기서 Host는 접속할 ssh 명령어라고 보면 됩니다. 예를 들어「ssh ec2-bas」명령어로 ec2에 접속할 수 있습니다.
HostName은 EC2의 IP 주소를 적어주면 됩니다 (탄력적 IP를 할당하지 않으면 매번 IP 주소가 바뀌기 때문에 주의)
IdentityFile은 접속할 EC2 인스턴스의 키페어 경로입니다.
Host ec2-bas HostName ec2-bas-ip 입력 port 22 User ec2-user IdentityFile Desktop/BastionEC2.pem Host ec2-private HostName ec2-private-ip 입력 port 22 User ec2-user IdentityFile Desktop/BastionEC2.pem/PrivateEC2.pem proxyCommand ssh ec2-bas -W %h:%p
이어서 proxyCommand를 추가해서 ec2-private를 작성합니다.
이렇게 작성한 내용을 바탕으로「ssh ec2-private」명령어로 간단하게 Private Subnet에 있는 EC2 인스턴스에 접속할 수 있습니다.
해당 명령어를 통해 로컬에서 베스천 호스트 -> 프라이빗 인스턴스 와 같이 접속을 여러번 할 경우 이러한 번거로움을 해소할 수 있을거라 생각합니다.